/**
 * @author 14544
 * @date 2020/3/26 11:20
 */
let TEST_URL = '/gov/gov.do?methodname=queryDocStatuses&serviceid=gov_status';
// 同步请求
{
    const xhr = new XMLHttpRequest();
    // xhr.responseType = 'json';   // 同步请求的响应类型不能重新设置
    xhr.open('GET', TEST_URL, false)  // 将async置为false 表示同步请求

    // 因为使用同步请求后，很多高级功能都不能使用了，比如 onreadstatechange，函数、onload、onerror等函数 以及 timeout，responseType
    // 这里使用 try ..catch 来监听错误
    try {
        xhr.send(null);
        if (xhr.status === 200) {
            console.log(`loaded`)
            console.log(JSON.parse(xhr.response || xhr.responseText))
        }
    } catch (e) {
        console.error(`failed status ${xhr.status}`)
    }
    console.log('同步代码：',123)

    // 它可能看起来很不错，但是同步调用很少使用，因为它们会阻塞页面内（in-page）的 其他JavaScript执行直到请求完成。
    // 在一些浏览器中，滚动可能无法正常运行。如果一个同步调用执行很长时间，浏览器可能会建议关闭“挂起”（hanging）的页面。
    // XMLHttpRequest 的许多高级功能在同步请求中都无效，比如向其他域发起请求或者设置超时时间。同时，你也可以看到，它们没有进度指示。
}
